package cn.com.oceansoft.business.sys.persistence;

import cn.com.oceansoft.business.base.entity.Query;
import cn.com.oceansoft.business.sys.entity.SysUser;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @author: chenw
 * @time: 2014/4/26 0026 下午 12:54
 */
@Repository
public interface ISysUserMapper {

    /**
     * 根据登录名和密码加载用户信息
     *
     * @param user 登录用户信息
     * @return 符合条件登录用户信息实体对象
     */
    SysUser findUserByLoginIdAndPwd(SysUser user);

    /**
     * 分页加载系统用户数据
     *
     * @param query 查询条件
     * @return List<SysUser>
     */
    List<SysUser> findByCondition(Query query);

    /**
     * 更新用户信息
     *
     * @param sysUser SysUser
     */
    void update(SysUser sysUser);

    /**
     * 保存用户信息
     *
     * @param sysUser SysUser
     */
    int insert(SysUser sysUser);

    SysUser findById(String userId);

    void delete(String userId);

    void deleteUserRole(String userId);

    void deleteUserRoleRelationByUserId(String userId);

    void saveUserRoleRelationByBatch(Map<String, Object> param);
}
